Data transfer method and data transfer system

ABSTRACT

In a bus system in which a node identifier is allocated to each node, when a data file is transmitted from a transmission node  1  to a reception node  2 , a control node  3  issues, to the node  1 , a command including an identifier of the node  2  and a field value representing a number of data files to be transmitted to execute the data transfer, and in the case where the number of the data files is 1 or more, after the transmission of the data files of the number specified in the field is completed, the node  1  directs the node  2  to complete the transfer to thereby complete the data transfer, and in the case where the field value is 0, the transmission of the data files is continued, and thus an automatic disconnection mainly led by the data transmission node is adopted after the data transmission, which reduces issuance of commands to the minimum, attaining a high efficiency in processing.

TECHNICAL FIELD

The present invention relates to a data transfer method and datatransfer system used when data which does not necessitate real timeprocessing such as still image data, document data and the like istransferred between a plurality of apparatuses.

BACKGROUND ART

Apparatuses which deal with a still image such as a digital still cameraor a printer have been more widely and more increasingly marketed inrecent years. These apparatuses are conventionally used in anenvironment in which a personal computer is present. However, needs foreasy handling of such apparatuses in an environment in which a personalcomputer is not present, is increasing recently.

Conventionally, as a data transfer method when data which does notnecessitate real time processing and which is represented by theaforementioned still-image data and document data istransmitted/received between a plurality of apparatuses, a data transfermethod in which a control node commands a transmission node and areception node respectively to control starting/completion of datatransfer is proposed in AV/C Compatible Asynchronous Serial BusConnections, Draft 1.11, Sep. 1, 1998, and “AV/C Management ofAsynchronous Serial Bus Connections, Sep. 21, 1998, in 1394 TradeAssociation. These method use IEEE Std 1394-1995, Standard for a HighPerformance Serial Bus, which will be referred to as “IEEE 1394-1995”hereinafter, as a bus system, and proposes an asynchronous data transfermethod in a form of extending the conventional data transfer controlmethod for transferring/receiving data which necessitates real timeprocessing. According to this data transfer method, when asynchronousdata is transferred from a first node to a second node on a bus systemin which a node identifier is allocated to each node, a control nodesends a command for transfer to the first node and the second noderespectively, to thereby improve the command/data processing efficiency.

FIG. 15 is a block diagram which shows a structure of a still image datatransfer system using a conventional data transfer method. In FIG. 15,101 is a data transmission node (a first node) as a device fortransmitting an image such as a digital still camera, 102 is a datareception node (a second node) as a device for receiving an image suchas a printer, and 103 is a control node such as a personal computer or aset top box, and these devices are connected to the same bus system 100(IEEE 1394-1995).

FIG. 16 is a system block diagram which describes the operation oftransferring data from the data transmission node 101 to the datareception node 102 under the control of the control node 103 in theconventional data transfer method.

Here, an arrow mark 104 represents a data reception command which thecontrol node 103 issues to the data reception node 102, and an arrowmark 106 represents a data transmission command which the control node103 issues to the data transmission node 101. An arrow mark 105 is adata reception command response by which the data reception node 102reports the execution result of the data reception command 104 to thecontrol node 103, and an arrow mark 107 is a data transmission commandresponse by which the data transmission node 101 reports the executionresult of the data transmission command 105 to the control node 103.

The data transmission node 101 and the data reception node 102 receivethe data transmission command 106 and the data reception command 104issued from the control. node 103, respectively, and by each notifyingthe execution result to the control node 103, establish the connectionand start the transmission of data. Herein, 108 represents data which istransferred from the data transmission node 101 to the data receptionnode 102.

FIG. 17 is a block diagram which describes the operation of completingthe transfer of data from the data transmission node 101 to the datareception node 102 under the control of the control node 103 in theconventional data transfer method.

Here, an arrow mark 109 represents a data reception completion commandwhich the control node 103 issues to the data reception node 102, and anarrow mark 111 represents a data transmission completion command whichthe control node 103 issues to the data transmission node 101. An arrowmark 110 is a data reception completion command response by which thedata reception node 102 reports the execution result of the datareception command 104 to the control node 103, and an arrow mark 112 isa data transmission completion command response by which the datatransmission node 101 reports the execution result of the datatransmission command 106 to the control node 103. Here, an arrow mark108 represents data which is transferred from the data transmission node101 to the data reception node 102.

The data transmission node 101 and the data reception node 102 receivethe data transmission completion command 111 and the data receptioncompletion command 109 issued from the control node 103, respectively,and by each notifying the execution result to the control node 103,complete the transfer of data and are disconnected.

However, in the conventional data transfer method above described, theconnection between the data transmission node 101 and the data receptionnode 102 is not disconnected unless the control node 103 gives such acompletion command. Therefore, even when the control node 103 hasalready determined the sheet number of still image to be transmitted,the control node 103 must follow steps of periodically giving commandsfor asking the situation to the data transmission node 101 or the datareception node 102, and of receiving command responses to the commands,in order to recognize the completion of data transfer which is currentlybeing carried out and command the disconnection thereof. Due to this, anextra command needs to be issued in order to detect completion of thetransfer and a command for directing disconnection from the control node103 is also required, resulting in a poor processing efficiency.

As described above, when a system in which still image data istransferred using the conventional data transfer method is considered,there exists a problem that timing at which data transfer is to beterminated and disconnected is not easily known.

Further, there exists another problem that, as disconnection process isalways carried out under the control of the control node, a number ofcommands has to be issued, resulting in a poor processing efficiency.

The present invention intends to solve these problems and a first objectof the present invention is to provide a data transfer system and methodthereof in which the automatic disconnection after data transferdirected by the data transmission node or the data reception node isachieved compatible with the conventional disconnection method directedby the control node, whereby the number of commands to be issued iscurbed at the minimum, and thus the processing efficiency can beimproved.

In addition, a second object of the present invention is to provide adata transfer system and method thereof in which control process can besimplified in a data transfer which is carried out continuously becausethe completion of the data transfer is easily detected by the controlnode.

DISCLOSURE OF INVENTION

In order to achieve the aforementioned objects, the present invention ischaracterized in that, in a bus system in which a node identifier isallocated to each node, when a data file is transmitted from atransmission node to a reception node, a control node issues, to thetransmission node, a command including an identifier of the receptionnode and a field value representing a number of data files to betransmitted to execute the data transfer, and in the case where thenumber of the data files is 1 or more, after the transmission of thedata files of the number specified in the field is completed, thetransmission node directs the reception node to complete the transfer tothereby complete the data transfer, and in the case where the fieldvalue is 0, the transmission of the data files is continued, and thus anautomatic disconnection mainly led by the data transmission node or datareception node is adopted after the data transfer.

Thus, there can be obtained an improved data transfer method compatiblewith a conventional data transfer method, facilitating to confirm atiming of completion of data transfer, reducing issuance of commands tothe minimum, attaining a high efficiency in processing.

A first aspect of the present invention provides a data transfer methodof transferring at least one data file from a first node outputting adata file to a second node inputting a data file under a control of acontrol node in a bus system in which a node identifier is allocated toeach node, said data transfer method characterized in that: the controlnode transmits to the first node a first command including the nodeidentifier of the second node, and transmits to the second node a secondcommand including the node identifier of the first node, wherein thefirst command includes a field which represents a specified number ofdata files to be transmitted by the first node, and in the case wherethe filed value is 1 or more, when the first node has completed thetransmission of the number of the data files specified in the field, thefirst node directs the second node to complete the transfer to therebycomplete the data transfer, and in the case where the field value is 0,the transmission of the data files is continued.

Thus, in a case in which the number of data files to be transmitted fromthe first node to the second node has been determined, the timing atwhich data transfer is to be completed is easily known and thedisconnection process is automatically carried out between thetransmission node and the reception node, allowing the number ofcommands issued on the bus at the minimum level. That is, by setting thenumber of the data files for transmission and reception in the commandfield, the issuance of the commands is reduced to the necessary minimumby the automatic disconnection mainly led by the data transmission nodeor data reception node, improving the efficiency in processing.

A second aspect of the present invention is characterized in that, inthe case where the field value representing the number of the data filesto be transmitted by the first node is 1 or more, when the first nodecompletes the transmission of the data files of the number specified inthe field and directs the second node to complete the transfer, thecompletion of the transfer is notified to the control node.

Thus, the control node can easily detect the completion of the datatransfer, and in the case of executing the data transfer continuously,it is possible to smoothly proceed to the next data transfer. That is,after executing the automatic disconnection mainly led by the datatransmission node or data reception node, by responding a secondresponse to the control node, the control node easily to detect thecompletion of the data transfer, and the control process can besimplified in the continuous data transfer.

A third aspect of the present invention provides a data transfer systemfor transferring at least one data file from a first equipmentoutputting a data file to a second equipment inputting the data file ina bus system via which a plurality of equipments each having anidentifier allocated thereto are connected, said data transfer systemcharacterized by: comprising a third equipment for control whichtransmits to the first equipment a first command including theidentifier of the second equipment, and transmits to the secondequipment a second command including the identifier of the firstequipment, wherein the first command includes a field which represents aspecified number of data files to be transmitted by the first equipment,and the second command includes a field which represents a specifiednumber of data files to be received by the second equipment, and in thecase where the filed value representing the number of the data files tobe transmitted and received is 1 or more, when the transmission andreception of the data files of the number specified in the fields iscompleted between the first equipment and the second equipment, thecompletion of the data transfer is directed to each other between thefirst equipment and the second equipment, whereby the data transfer iscompleted without intermediation of the third equipment, and in the casewhere the field value is 0, the transmission and reception of the datafiles is continued.

In this construction, the first equipment notifies the second equipmentof the completion of the data transfer and the second equipment notifiesthe first equipment of having recognized the completion of the datatransfer, whereby the connection between the equipments is automaticallydisconnected and the address spaces for transmission and reception ofeach equipment are cleared.

In this construction, in the case where the field value representing thenumber of the data files to be transmitted and received is 1 or more,when the transmission and reception of the data files of the numberspecified in the fields is completed and the completion of the transferis directed to each other between the equipments, the first equipment orthe second equipment notifies the third equipment for control of thecompletion of the transfer.

BRIEF DESCRIPTION OF DRAWINGS

FIG. 1 is a block diagram of a system using a data transfer methodaccording to a first embodiment of the present invention;

FIG. 2 is a block diagram representing the operation of the system usingthe same data transfer method;

FIG. 3 is a diagram showing a data format of each command and eachcommand response according to the same data transfer method;

FIG. 4 is a stair layer diagram showing a relationship of an offsetconstruction of each node;

FIG. 5 is a constitution diagram showing a mapping arrangement of eachplug register;

FIG. 6 is a diagram showing a format of a limitCount register accordingto the same data transfer method;

FIG. 7 is a diagram showing a format of a producerCount registeraccording to the same data transfer method;

FIG. 8 is a block diagram of a system using a data transfer methodaccording to a second embodiment of the present invention;

FIG. 9 is a block diagram representing the operation of a system using adata transfer method according to a third embodiment of the presentinvention;

FIG. 10 is a block diagram of a system using a data transfer methodaccording to a fourth embodiment of the present invention;

FIG. 11 is a block diagram of a system using a data transfer methodaccording to a fifth embodiment of the present invention;

FIG. 12 is a block diagram representing the operation of the systemusing the same data transfer method;

FIG. 13 is a diagram showing a data format of each command and eachcommand response according to the same data transfer method;

FIG. 14 is a block diagram representing the operation of a system usinga data transfer method according to a sixth embodiment of the presentinvention;

FIG. 15 is a block diagram of a system using a conventional datatransfer method;

FIG. 16 is a block diagram representing the operation of when transferis started in a still image data system according to the conventionaldata transfer method; and

FIG. 17 is a block diagram representing the operation of when transferis completed in a still image data system according to the conventionaldata transfer method.

BEST MODE FOR CARRYING OUT THE INVENTION

Hereinafter, embodiments of the present invention will be described withreference to the drawings.

(Embodiment 1)

FIG. 1 is a block diagram of a system of a data transfer methodaccording to a first embodiment of the present invention. In FIG. 1, 1is a data transmission node (a first node) which is a device fortransmitting an image such as a digital still camera, 2 is a datareception node (a second node) which is a device for receiving an imagesuch as a printer, and 3 is a control node such as a personal computeror a set-top box, and these devices are connected to the same bus system100.

In the present embodiment, IEEE 1394-1995 is used as a bus system and acase in which data transfer is carried out between the devices connectedto the bus will be exemplarily described. As for each command and eachresponse corresponding to each command, transmission of commands andresponses is carried out using Function Control Protocol (referred to as“FCP” hereinafter) defined in IEC-61883, Proposed standard for DigitalInterface for Consumer Electronic Auto/Video Equipment, and each commandand each response are carried out in accordance with the regulations ofAV/C Digital Interface Command Set (referred to as “AV/C Command”hereinafter).

FIG. 2 is a system block diagram describing the operation of the presentembodiment. Here, data to be transferred from the data transmission node1 to the data reception node 2 is one still image data having 32kilobytes. In the present embodiment, although the reception buffer sizeis a fixed value of 256 K in rewriting oAPR from the reception node,other values may be used as the reception buffer size.

C1 is an Allocate Command which is issued to the data reception node 2by the control node 3, R1 is an Allocate Command Response by which thedata reception node 2 reports the execution result of the AllocateCommand C1 to the control node 3, C2 is an Allocate_Attach Command whichis issued by the control node 3 to the data transmission node 1, R2 isan Allocate_Attach Command Response by which the data transmission node1 reports the execution result of the Allocate_Attach Command C2 to thecontrol node 3, C3 is an Attach Command which is issued by the controlnode 3 to the data reception node 2, and R3 is an Attach CommandResponse by which the data reception node 2 reports the execution resultof the Attach Command C3 to the control node 3. Here, ALLOCATE_ATTACHmay be also described as ALLOCATE_CONNECT, and ATTACH may beoccasionally described as CONNECT.

FIG. 3 shows a data format of the Allocate Command C1/Allocate CommandResponse R1, Allocate_Attach Command C2/Allocate_Attach Command ResponseR2, and Attach Command C3/Attach Command Response R3. In FIG. 3, 10 is apacket header portion, 11 is a FCP frame portion (or a data blockportion), and these packet header portion 10 and FCP frame portion 11constitute an asynchronous write packet defined in IEEE 1394-1995.Further, 13 is a 16-bit identifier of the destination node to which thepacket is transmitted, and 14 is an identifier of the source node fromwhich the packet is transmitted. These node identifiers are also definedin IEEE 1394-1995.

In the AV/C command, data of the commands C1, C2 and C3 to the nodes orof the command responses R1, R2 and R3 are included in the FCP frameportion 11. Here, each command and each command response share the samedata format, and the data reception node 2 receives a command andexecutes a process, and after rewriting according to necessity thespecified field value of the command which the data reception node 2 hasreceived before, a process of transferring this packet as a commandresponse to the control node 3 is carried out.

Here, 15 is a command field, 16 is a sub function field, 17 is a datafile number field, 18 is a register address of the connection sourcenode (which is represented as “plug offset”), 19 is a node identifier ofthe connection destination, 20 is a register address of the connectiondestination node (which is represented as “connected plug offset”). In aconnection for transferring asynchronous data, connection forasynchronous data transfer is specified in the command field 15 and eachcommand is specified in the sub function field 16.

First, the control node 3 issues to the data reception node 2 theAllocate Command C1 having a packet format shown in FIG. 3. Each datafield value of a packet which is issued here is shown in (Table 1).

TABLE 1 ALLOCATE COMMAND C1 Data Field Value Node Identifier of NodeIdentifier of Data Destination to which Reception Node 2 Packet istransmitted Node Identifier of Source Node Identifier of Control fromwhich Packet is Node 3 transmitted Asynchronous Connection Directionthat Connection is Command Code for Transfer of Asynchronous Data SubFunction Field ALLOCATE Data File Number Field 0 Register Address ofUnknown (Buried with OxFF) Connection Source Node Connection DestinationUnknown (Buried with FF (16)) Node Identifier Register Address ofUnknown (Buried with OxFF) Connection Destination Node

The Allocate Command C1 is issued by the control node 3 to direct thedata reception node 2 to secure address space for data reception. TheAllocate Command Response R1 is a command response according to which, adata field of the pre-received Allocate Command C1 which was able tosecure address space for data reception is subject to rewriting of theregister address 18 of the connection source node from the current“Unknown” to the above-mentioned secured address of the reception node2, and the Allocate Command Response R1 is transferred to the controlnode 3 as a command response R1 for processing, while a data field ofthe pre-received Allocate Command C1 which was not able to secureaddress space for data reception is transferred to the control node 3for processing without being subject to rewriting of the registeraddress 18 of the connection source node as is left “Unknown”. Here,OxFF indicates that the address value is unknown, where Ox represents ahexadecimal and FF represents a symbol code indicating that “1” isestablished for all digits.

When the register address 18 of the connection source node of thereceived Allocate Command Response R1 has been rewritten, namely, in thecase where the address space for data reception can be secured in thedata reception node 2, the control node 3 issues to the datatransmission node 1 the Allocate_Attach Command C2 having the packetformat of FIG. 3. Each data field value of the packet issued here isshown in (Table 2). In the Allocate_Attach Command C2, the number ofdata files to be transmitted is set in the data file number field 17.

As shown in Table 2, the Allocate_Attach Command C2 is a command bywhich the control node 3 notifies the data transmission node 1 of theaddress space number for reception which has been secured by the datareception node 2 as a value of the register address (20) of theconnection destination node of the Allocate_Attach Command C2 andnotifies of the number of data file to be transmitted to the datareception node 2 (=1) and directs the data transmission node 1 to securethe address space (18) for data transmission. The Allocate_AttachCommand Response R2 is a command response according to which, a datafield of the pre-received Allocate_Attach Command C2 which was able tosecure address space for data transmission is subject to rewriting ofthe register address 18 of the connection source node from Unknown to aconcrete address number and transferred to the control node 3 as acommand response R2 for processing, while in the case where addressspace can not be secured, the command response is transferred to thecontrol node 3 for processing as the command response R2 without beingsubject to rewriting of the register address 18 of the connection sourcenode.

Next, when the register address 18 of the connection source node of thereceived Allocate_Attach Command Response R2 has been rewritten, thecontrol node 3 sends to the data reception node 2 the Attach Command C3having the packet format of FIG. 3. Each data field value of the packetissued here is shown in (Table 3).

The Attach Command C3 is issued by the control node 3 to direct the datareception node 2 to notify of the address space for transmission whichhas been secured by the data transmission node 1 as the value of theregister address (20) of the connection destination node of Table 3 anddirects to start data transfer. The data reception node 2 transfers thepre-received Attach Command C3 shown in Table 3 left as it is as acommand response R3 to the control node 3 and then data transfer betweenthe data transmission node 1 and the data reception node 2 is started.

TABLE 2 ALLOCATE_ATTACH COMMAND C2 Data Field Value Node Identifier ofNode Identifier of Data Destination to which Transmission Node 1 Packetis transmitted Node Identifier of Source Node Identifier of Control fromwhich Packet is Node 3 transmitted Asynchronous Connection Directionthat Connection is Command Code for Transfer of Asynchronous Data SubFunction Field ALLOCATE_ATTACH Data File Number Field Number of DataFiles to be transmitted (=1) Register Address of Unknown (Buried withOxFF) Connection Source Node Connection Destination Node Identifier ofData Node Identifier Reception Node 2 Register Address of RegisterAddress of Data Connection Destination Reception Node 2 Node

Here, in a data transfer process between the data transmission node 1and the data reception node 2 as shown in the latter half of FIG. 2,“LimitCount” refers to steps 1S, 4S and 6S is described as “oAPR” in thenewest Standard which represents a register for controlling transmissionin the data transmission node 1, and “ProducerCount” refers to steps 3Sand 5S is described as “iAPR” in the newest Standard which indicates aregister for controlling reception in the data reception node 2. Therelationships of the register mapping construction of each of thesenodes are shown in FIGS. 4 and 5.

TABLE 3 ATTACH COMMAND C3 Data Field Value Node Identifier of NodeIdentifier of Data Destination to which Reception Node 2 Packet istransmitted Node Identifier of Source Node Identifier of Control fromwhich Packet is Node 3 transmitted Asynchronous Connection Directionthat Connection is Command Code for Transfer of Asynchronous Data SubFunction Field ATTACH Data File Number Field 0 Register Address ofRegister Address of Data Connection Source Node Reception Node 2Connection Destination Node Identifier of Data Node IdentifierTransmission Node 1 Register Address of Register Address of DataConnection Destination Transmission Node 1 Node

As shown in FIG. 4, in the IEEE1394-1995, an address of 64 bits in widthis used among which lower significant 48 bits represents an addressspace, 41 for use within the device. An asynchronous plug register 42 isinstalled in the memory space and may includes a port register 43 andsegment buffer address portion 44.

In FIG. 5, the asynchronous plug register 42 may hold 15 ports which arearranged in the order of iAPR, oAPR(1), oAPR(2), . . . , oAPR(14). Thatis, the transmission node 1 includes a plug register comprised of atleast one oAPR1 each comprised of 32 bits, and similarly the receptionnode 2 includes a plug register comprised of one iAPR1 and buffer eachcomprised of 32 bits. Here, the number of the ports actually included ineach plug register depends on the equipment.

The format of the oAPR register shown by “limitcount” mentioned above isshown in FIG. 6, and the format of the iAPR register shown by“ProducerCount” is shown in FIG. 7 in a unit of bits. These areconstructed by formats each comprised of 32 bits. Among the modes whichare specified in the mode field (3 bit) in the format and used for flowcontrol, main ones are shown in (Table 4).

However, although the mode value FREE is used in the sense of“Transmission and Reception of all files being completed” (FINAL) inTable 4, the mode value FREE is used in the sense of setting “Initialcondition” and “starting of disconnection” in the latest Standard.

TABLE 4 Symbol Meaning FROM TRANSMISSION NODE TO RECEPTION NODE FREE(FINAL) COMPLETION OF TRANSMISSION OF ALL DATA FILES MORE HALFWAY OFDATA FILE SUSPENDED RECOGNIZATION OF SUSPENSION OF DATA TRANSFER LASTCOMPLETION OF TRANSMISSION OF CURRENT DATA FILE LESS TRANSMISSION DATANUMBER WAS LESS JUNK INVALID DATA WAS TRANSMITTED LOST NO DATA WASTRANSMITTED FROM RECEPTION NODE TO TRANSMISSION NODE FREE (FINAL)COMPLETION OF RECEPTION OF ALL DATA FILES SUSPENDED SUSPENSION OF DATATRANSFER RESUME RESUMPTION OF DATA TRANSFER SEND RECEPTION OF DATA ISPOSSIBLE TOSS SUBSEQUENT DATA IS NOT NEEDED

In FIG. 2, rewriting into the transmission side oAPR register isdescribed in a form of oAPR=(Reception Buffer Size)|(Mode). In addition,rewriting into the reception side iAPR register is described in a formof iAPR=(Transmission Data Size)|(Mode). Rewriting into the oAPRregister and iAPR register is carried out by the 4-byte Compare_SwapLock Transaction of IEEE 1394-1995.

In the data transfer process between the data transmission node 1 andthe data reception node 2 shown in FIG. 2, first, the data receptionnode 2 notifies the data transmission node 1 of the capacity of thebuffer (assumed as 256 kilobytes here) which is capable of datareception (Step 1S). The data transmission node 1 transfers a data of 32kilobytes to the data reception node 2, using IEEE 1394-1995asynchronous write packet (Step 2S). When completing transmission of thefile of 32 kilobyte, the data transmission node 1 notifies the datareception node 2 of having completed transmission of the current datafile successfully (Step 3S). The data reception node 2 notifies the datatransmission node 1 that reception of the next data file is possible(Step 4S). The data transmission node 1 notifies the data reception node2 of the completion of data transfer (step 5S). The data reception node2 notifies the data transmission node 1 of its having recognized thecompletion of data transfer (Step 6S). Then, the connection between thedata transmission node 1 and the data reception node 2 is disconnected,and the data transmission node 1 releases the secured address space fortransmission, and the data reception node 2 releases the secured addressspace for reception. That is, the address spaces oAPR and iAPR fortransmission and reception of each equipment are cleared. The term“cleared” means the case of conducting only “Initialization” andincluding the case of conducting “Release of address space”, and thedetermination whether only “Initialization” is executed or the “Releaseof address space” is also executed depends on each equipment. In thecase of the equipment permanently keeping the address space fortransmission and reception, only the “Initialization” is executed, butaccording to the equipments, there is a case of executing the “Releaseof address space” as well as the disconnection.

As described above, when the number of data files to be transmitted hasbeen pre-determined, since the data transmission node 1 and the datareception node 2 can carry out disconnection without intermediation ofthe control node 3, disconnection is carried out simultaneous with thecompletion of data transfer and the number of commands issued on the busis reduced. Further, the control by the control node 3 can besimplified.

(Embodiment 2)

Next, a second embodiment of the present invention will be described.FIG. 8 is a block diagram of a system of a data transfer methodaccording to the present embodiment. As the present embodiment isbasically the same as the first embodiment shown in FIG. 2, detaileddescription of the system components and the operation thereof will beomitted here.

The present embodiment shown in FIG. 8 is different from the firstembodiment described above in that the control node 3 is included in thedata reception node 2.

In the structure shown in FIG. 8, the Allocate Command C1, the AllocateCommand Response R1, the Attach Command C3, the Attach Command ResponseR3 shown in FIG. 2 are processed internally and therefore the packetdata of these commands/responses are not transmitted on the bus.

On the other hand, the Allocate_Attach Command C2 issued to the datatransmission node 1 and the Allocate Attach Command Response R2 have thevery same format as the packet format of the first embodiment describedin FIG. 3. Herein, the present embodiment differs from the firstembodiment only in that the value of the node identifier 14 of thesource from which the packet is transmitted is equal to the value of theconnection destination node identifier 19 in the ALLOCATE_ATTACH COMMANDC2.

Except for this point, as far as the operation of the present embodimentand the control method of the data transmission node 1 are concerned,the data transfer process can be carried out according to the very sameprocess as in the first embodiment described above.

In short, by comparing the first embodiment of the present inventionwith the second embodiment thereof, it is understood that a system canbe established which is capable of flexibly adapting to various systemconstructions and achieves an excellent processing efficiency under thecontrol of the control node 3.

(Embodiment 3)

Next, a third embodiment of the present invention will be described.FIG. 9 is a system block diagram describing the operation of the presentembodiment. Herein, data which is transferred from the data transmissionnode 1 to the data reception node 2 is one still image data having 32kilobytes. As some operations of the present embodiment are the same asthose in the first embodiment shown in FIG. 2, detailed description ofsuch operations will be omitted.

The third embodiment shown in FIG. 9 differs from the first embodimentdescribed above in the point of the value of the data file number field17 which is one of the data fields of the Allocate_Attach Command C2 andAttach Command C3 having the packet format of the first embodimentdescribed in FIG. 3 and in the point of the procedure after the datatransfer is started. As the value of each data field of the AllocateCommand C1 is the same as that in the first embodiment, descriptionthereof will be omitted. The value of each data field of theAllocate_Attach Command C2 is shown in (Table 5) and the value of eachdata field of the Attach Command C3 is shown in (Table 6).

TABLE 5 ALLOCATE_ATTACH COMMAND C2 Data Field Value Node Identifier ofNode Identifier of Data Destination to which Data Transmission Node 1Packet is transmitted Node Identifier of Source Node Identifier ofControl from which Packet is Node 3 transmitted Asynchronous ConnectionDirection that Connection is Command Code for Transfer of AsynchronousData Sub Function Field Allocate_Attach Data File Number Field 0Register Address of Unknown (Buried with OxFF) Connection Source NodeConnection Destination Node Identifier of Data Node Identifier ReceptionNode 2 Register Address of Register Address of Data ConnectionDestination Reception Node 2 Node

TABLE 6 ATTACH COMMAND C3 Data Field Value Node Identifier of NodeIdentifier of Data Destination to which Reception Node 2 Packet istransmitted Node Identifier of Source Node Identifier of Control fromwhich Packet is Node 3 transmitted Asynchronous Connection Directionthat Connection is Command Code for Transfer of Asynchronous Data SubFunction Field Attach Data File Number Field Number of Data Files to betransmitted (=1) Register Address of Register Address of Data ConnectionSource Node Reception Node 2 Connection Destination Node Identifier ofData Node Identifier Transmission Node 1 Register Address of RegisterAddress of Data Connection Destination Transmission Node 1 Node

Hereinafter, the operation of the present embodiment will be describedwith reference to FIG. 9.

First, the data reception node 2 notifies the data transmission node 1of the capacity of the buffer (assumed as 256 kilobytes here) which iscapable of data reception (Step. 11S). The data transmission node 1transfers a data to the data transmission node 2, using IEEE 1394-1995asynchronous write packet (Step 12S). When completing transmission ofthe file of 32 kilobytes, the data transmission node 1 notifies the datareception node 2 of having completed transmission of the current datafile successfully (Step 13S). The data reception node 2 notifies thedata transmission node 1 of the completion of data transfer (Step 14S).The data transmission node 1 notifies the data reception node 2 of itshaving recognized the completion of data transfer (Step 15S). Then, theconnection between the data transmission node 1 and the data receptionnode 2 is disconnected, and the data transmission node 1 releases thesecured address space for transmission, and the data reception node 2releases the secured address space for reception.

As described above, similarly to the first embodiment, when the numberof data files to be transmitted has been pre-determined, since the datatransmission node 1 and the data reception node 2 can carry outdisconnection without intermediation of the control node 3,disconnection is carried out simultaneous with the completion of datatransfer and the number of commands issued on the bus is reduced.Further, the control by the control node 3 can be simplified.

(Embodiment 4)

Next, a fourth embodiment of the present invention will be hereindescribed. FIG. 10 is a block diagram of a system of a data transfermethod according to the present embodiment. As the present embodiment isbasically the same as the third embodiment shown in FIG. 9, detaileddescription of the system components and the operation thereof will beomitted here.

The fourth embodiment shown in FIG. 10 is different from the thirdembodiment described above in that the control node 3 is included in thedata transmission node 1.

In FIG. 10, the Allocate_Attach Command C2 and the Allocate_AttachCommand Response R2 shown in FIG. 9 are processed internally andtherefore the packet data of these commands/responses are nottransmitted on the bus.

On the other hand, the Allocate Command C1 issued to the data receptionnode 2, the Allocate Command Response R1, the Attach Command C3, and theAttach Command Response R3 have the very same format as the packetformat of the third embodiment described in FIG. 9. Herein, the presentembodiment differs from the third embodiment only in that the value ofthe node identifier 14 of source from which the packet is transmitted isequal to the value of the connection destination node identifier 19 inthe Allocate Command C1 and the Attach Command C3.

Except for this point, as far as the operation of the present embodimentand the control method of the data reception node 2 are concerned, thedata transfer process can be carried out according to the very sameprocess as in the third embodiment described above.

In short, by comparing the third embodiment of the present inventionwith the fourth embodiment thereof, it is understood that a system canbe established which is capable of flexibly adapting to various systemconstructions and achieves an excellent processing efficiency under thecontrol of the control node 3.

(Embodiment 5)

Next, a fifth embodiment of the present invention will be described.FIG. 11 is a block diagram of a system of the present embodiment. InFIG. 11, 1 is a data transmission node (a first node) which is anequipment for transmitting image such as a digital still camera, 2 a and2 b are data reception nodes (a second node and a fourth node) which areequipments for receiving image such as printers. 3 is a control nodesuch as a personal computer or a set-top box, and these equipments areconnected to the same bus system 100. Here, one still image data of 32kilobytes is transferred from the data transmission node 1 to the datareception node 2 a, and one still image data of 32 kilobytes istransferred from the data transmission node 1 to the data reception node2 b.

FIG. 12 describes the operation of transferring data from the datatransmission node 1 to the data reception node 2 in the system of thepresent embodiment. As some operations of the present embodiment are thesame as those in the first embodiment shown in FIG. 2, detaileddescription of such operations will be omitted here.

In FIG. 12, C2 is an Allocate_Attach Command having the packet format ofFIG. 13. As each data field of the data format shown in FIG. 13basically shares the same packet format as in the first embodimentdescribed in FIG. 3, description thereof will be omitted. In FIG. 13, 21is a status field for showing the situation of the transfer. That is,the register of the transmission node includes a packet storage portion(not shown) for storing the packet of the ALLOCATE_ATTACH COMMAND C2.The values of each data field of the packet issued here are shown in(Table 7).

The Allocate_Attach Command C2 is issued by the control node 3 to notifythe data transmission node 1 of the address space for reception whichhas been secured by the data reception node 2 and of the number of datafile to be transmitted to the data reception node 2 a (=1) and directthe data transmission node 1 to secure the address space for datatransmission. A first Allocate_Attach Command Response R2 a is fortransferring the pre-received Allocate_Attach Command C2 as a commandresponse to the control node 3 for processing, after rewriting theregister address 18 of the connection source node among the data fieldsof the Allocate_Attach Command C2 when the address space for datatransmission could be secured, or without rewriting when the addressspace for data transmission could not be secured. Here, the firstAllocate_Attach Command Response R2 a represents that which is directlytransferred to the control node 3 without being subject to rewriting thestatus field 21.

TABLE 7 ALLOCATE_ATTACH COMMAND C2 Data Field Value Node Identifier ofNode Identifier of Data Destination to which Transmission Node 1 Packetis transmitted Node Identifier of Source Node Identifier of Control fromwhich Packet is Node 3 transmitted Asynchronous Connection Directionthat Connection is Command Code for Transfer of Asynchronous Data SubFunction Field Allocate_Attach Data File Number Field Number of DataFiles to be transmitted (=1) Register Address of Unknown (Buried withOxFF) Connection Source Node Connection Destination Node Identifier ofData Node Identifier Reception Node 2 Register Address of RegisterAddress of Data Connection Destination Reception Node 2 Node StatusField Unknown (Buried with OxFF)

Then, after the data transfer which is similar to that in the firstembodiment is carried out, the data transmission node 1 rewrites theregister address 18 and the status field 21 of the connection sourcenode of the data filed of the pre-received Allocate_Attach Command C2and transfers the rewritten one to the control node 3 as a secondAllocate_Attach Command Response R2 b, for processing. The value of eachdata field of the packet issued here is shown in (Table 8).

TABLE 8 SECOND ALLOCATE_ATTACH COMMAND RESPONSE R2b Data Field ValueNode Identifier of Node Identifier of Control Destination to which Node3 Packet is transmitted Node Identifier of Source Node Identifier ofData from which Packet is Transmission Node 1 transmitted AsynchronousConnection Direction that Connection is Command Code for Transfer ofAsynchronous Data Sub Function Field Allocate_Attach Data File NumberField Number of Data Files to be transmitted (=1) Register Address ofRegister Address of Data Connection Source Node Transmission Node 1Connection Destination Node Identifier of Data Node Identifier ReceptionNode 2 Register Address of Register Address of Data ConnectionDestination Reception Node 2 Node Status Field Data Transfer iscompleted (0 = 0x00)

The control node 3 receives the second Allocate Attach Command ResponseR2 b from the data transmission node 1, and when the control node 3recognizes the completion of data transfer to the first data receptionnode 2 a, the control node 3 starts the operation of transferring datafrom the data transmission node 1 to the second data reception node 2 b.As the operation is similar to the operation of transferring data fromthe data transmission node 1 to the data reception node 2 except forthat the reception node is changed from the first data reception node 2a to the second data reception node 2 b, detailed description thereofwill be omitted.

As described above, when the number of data files to be transmitted hasbeen pre-determined, since the data transmission node 1 and the datareception node 2 carry out disconnection, the disconnection is achievedsimultaneous with the completion of data transfer and therefore thenumber of commands issued on the bus can be reduced. Further, since suchdisconnection is reported to the control node 3 as well, the controlnode 3 need not inquire of the state of transfer which is being carriedout as a preparation for next data transfer. Therefore, the number ofcommands issued on the bus is further reduced and shifting to the nexttransfer operation can be made more smoothly.

[Embodiment 6]

Next, a sixth embodiment of the present invention will be described. Asthe system of the present embodiment is basically the same as that inthe fifth embodiment shown in FIG. 11, detailed description of systemcomponents and the operation of thereof will be omitted. Here, one stillimage data of 32 kilobytes is transferred from the data transmissionnode 1 to the first data reception node 2 a, and one still image data of32 kilobytes is transferred from the data transmission node 1 to thesecond data reception node 2 b.

FIG. 14 describes the operation of transferring data from the datatransmission node 1 to the data reception node 2 in the system of thepresent embodiment. As some operations of the present embodiment are thesame as those in the third embodiment shown in FIG. 9, detaileddescription of such operations will be omitted.

In FIG. 14, C3 is Attach Command having a packet format which is similarto that in the fifth embodiment described in FIG. 13. That is, theregister of the reception node 2 includes a packet storage portion (notshown) for storing the Attach Command C3. The value of each data fieldof the packet issued here is shown in (Table 9).

TABLE 9 ATTACH COMMAND C3 Data Field Value Node Identifier of NodeIdentifier of Data Destination to which Reception Node 2 Packet istransmitted Node Identifier of Source Node Identifier of Control fromwhich Packet is Node 3 transmitted Asynchronous Connection Directionthat Connection is Command Code for Transfer of Asynchronous Data SubFunction Field Attach Data File Number Field Number of Data Files to bereceived (=1) Register Address of Register Address of Data ConnectionSource Node Reception Node 2 Connection Destination Node Identifier ofData Node Identifier Transmission Node 1 Register Address of RegisterAddress of Data Connection Destination Transmission Node 1 Node StatusField Unknown (Buried with OxFF)

The Attach Command C3 is issued by the control node 3 to direct the datareception node 2 to notify of the address space for transmission whichhas been secured by the data transmission node 1 and start datatransfer. The data reception node 2 transfers the pre-received AttachCommand C3 as it is as a command response (a first Attach CommandResponse R3 a) to the control node 3 and then data transfer between thedata transmission node 1 and the data reception node 2 is started. Here,the first Attach Command Response R3 a is transferred to the controlnode 3 as it is without having its data field rewritten.

After the data transfer similar to that of the third embodiment iscarried out, the data reception node 2 rewrites the status field 21 ofthe data fields of the pre-received Attach Command C3 and then transfersthe rewritten one as a second Attach Command Response R3 b to thecontrol node 3 for processing. The value of each data field of thepacket issued here is shown in (Table 10).

When the control node 3 has received the second Attach Command ResponseR3 b from the data reception node 2 a and recognized the completion ofdata transfer to the data reception node 2 a, the control node 3 startsthe operation for transferring data from the data transmission node 1 tothe data reception node 2 b. As this operation is the same as theaforementioned operation for transferring data from the datatransmission node 1 to the data reception node 2 except that thereception node is changed from the data reception node 2 a to the datareception node 2 b, the detailed description of the operation will beomitted.

TABLE 10 SECOND ATTACH COMMAND RESPONSE R3b Data Field Value NodeIdentifier of Node Identifier of Control Destination to which Node 3Packet is transmitted Node Identifier of Source Node Identifier of Datafrom which Packet is Reception Node 2 transmitted AsynchronousConnection Direction that Connection is Command Code for Transfer ofAsynchronous Data Sub Function Field Attach Data File Number FieldNumber of Data Files to be received (=1) Register Address of RegisterAddress of Data Connection Source Node Reception Node 2 ConnectionDestination Node Identifier of Data Node Identifier Transmission Node 1Register Address of Register Address of Data Connection DestinationTransmission Node 1 Node Status Field Data Transfer is completed (=0x00)

As described above, similarly to the fifth embodiment, when the numberof data files to be received has been pre-determined, since the datatransmission node 1 and the data reception node 2 a carry outdisconnection, the disconnection is achieved simultaneous with thecompletion of data transfer and therefore the number of commands issuedon the bus is reduced. Further, since such disconnection is reported tothe control node 3 as well, the control node 3 need not inquire of thestate of transfer which is being carried out as a preparation for thenext data transfer. Therefore, the number of commands issued on the busis further reduced and shifting to the next transfer operation can bemade more smoothly.

In the embodiments described above, cases in which the commands andresponses are transferred using the AV/C commands are exemplarilydescribed. However, other command transfer methods may be used insteadof that using the AV/C command.

In addition, in the embodiments described above, cases in which IEEE1394-1995 is employed are exemplarily described. However, the inventionis not limited to this structure and any bus may be used as long as itis connectable to a plurality of devices simultaneously.

Further, in the embodiments described above, a case in which the controlnode is present independent of the node carrying out the datatransmission/reception, a case in which the data transmission nodeincludes the control node, and a case in which the data reception nodeincludes the control node are described. However, in an actual systemstructure, the system may be constituted of the three devices, i.e. anindependent control node, a data transmission node containing a controlnode, and a data reception node containing a control node. In such acase, the device on which a user carries out an operation like pushing abutton functions as the control node.

Yet further, the term “a data transmission node” does not necessarilymean that the function of the node is fixed to transmission and the term“a data reception node” does not necessarily mean that the function ofthe node is fixed to reception. Depending on the types of commandsissued by the control node, a node may function as either a datatransmission node or a data reception node. For example, a system inwhich two digital still cameras are connected such that they canexchange data with each other can be established.

Industrial Applicability

By using the data transfer method of the present invention, a system canbe realized which can flexibly adapt to various types of systemstructure, improve the process efficiency by reducing the number ofcommands to be issued, and the control node is capable of easilydetecting the completion of data transfer and, when data transfer iscontinuously effected, the operation can smoothly proceed to the nextdata transfer, which simplifies the whole transfer control process.

What is claimed is:
 1. A data transfer method of transferring at leastone data file from a first node to a second node under control of acontrol node in a bus system, the first node and the second node havingcorresponding node identifiers, said data transfer method comprising:transmitting to the first node a first command, including the nodeidentifier of the second node and a data file number field; andtransmitting to the second node a second command, including the nodeidentifier of the first node; wherein, when the data file number fieldspecifies a number of 1 or more, the first node directs the second nodeto complete the data transfer when the first node has transmitted anumber of data files matching the number specified in the data filenumber field; and wherein, when the data file number field specifies a0, the first node continues to transmit data files until instructed bythe control node to stop.
 2. A data transfer method according to claim1, further comprising: notifying the control node when the first nodecompletes the transmission of the number of data files specified in thedata file number field, whenever the data file number field specifies anumber of 1 or more.
 3. A data transfer method according to claim 2,wherein the second node comprises the control node, and transmitting thesecond command to the second node and notifying the control node of thecompleted transmission are not issued on the bus.
 4. A data transfermethod of transferring at least one data file from a first node to asecond node under control of a control node in a bus system, the firstnode and the second node having corresponding node identifiers, saiddata transfer method comprising: transmitting to the first node a firstcommand, including the node identifier of the second node; andtransmitting to the second node a second command, including the nodeidentifier of the first node and a data file number field; wherein, whenthe data file number field specifies a number of 1 or more, the secondnode directs the first node to complete the data transfer when thesecond node has received a number of data files matching the numberspecified in the data file number field; and wherein, when the data filenumber field specifies a 0, the second node continues to receive datafiles until instructed by the control node to stop.
 5. A data transfermethod according to claim 4, further comprising: notifying the controlnode when the second node completes the reception of the number of datafiles specified in the data file number field, whenever the data filenumber field specifies a number of 1 or more.
 6. A data transfer methodaccording to claim 5, wherein the first node comprises the control node,and transmitting the first command to the first node and notifying thecontrol node of the completed transmission are not issued on the bus. 7.A data transfer system for transferring at least one data file through abus, which interconnects a plurality of equipment, the data transfersystem comprising: a transmitter that transmits the at least one datafile via the bus, the transmitter having a corresponding transmitteridentifier; a receiver that receives the at least one data file from thetransmitter via the bus, the receiver having a corresponding receiveridentifier; and a controller that sends at least one of a first commandto the transmitter and a second command to the receiver, the firstcommand comprising the receiver identifier and a first data file numberfield indicating a predetermined number of files to be transmitted, andthe second command comprising the transmitter identifier and a seconddata file number field indicating a predetermined number of files to bereceived; wherein, when the first data file number field and the seconddata number field each contain a zero, the transfer of the at least onedata file from the transmitter to the receiver continues until thecontroller instructs one of the transmitter to stop transmitting and thereceiver to stop receiving; wherein, when the first data file numberfield contains a number greater than zero, the transfer of the at leastone data file ends based on the transmitter determining that a number oftransmitted data files equals the number greater than zero; and wherein,when the second data file number field contains the number greater thanzero, the transfer of the at least one data file ends based on thereceiver determining that a number of received data files equals thenumber greater than zero.
 8. The data transfer system according to claim7, wherein, when the first data file number field contains the numbergreater than zero, the transmitter instructs the receiver to stopreceiving when the receiver receives a last transmitted data file. 9.The data transfer system according to claim 7, wherein, when the seconddata file number field contains the number greater than zero, thereceiver instructs the transmitter to stop transmitting when thereceiver receives a last transmitted data file.
 10. The data transfersystem according to claim 7, wherein, when one of the first data filenumber field and the second data file number field contains the numbergreater than zero, at least one of the transmitter and the receivernotifies the controller when the transfer of the at least one data fileends.